package org.jeecg.modules.oa.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.modules.system.entity.SysUser;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * @Description: 评论表
 * @Author: jeecg-boot
 * @Date:   2019-09-12
 * @Version: V1.0
 */
@Data
@TableName("oa_comment")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="oa_comment对象", description="评论表")
public class OaComment {
    
	/**id*/
	@TableId(type = IdType.UUID)
    @ApiModelProperty(value = "id")
	private java.lang.String id;
	/**主题ID*/
	@Excel(name = "主题ID", width = 15)
    @ApiModelProperty(value = "主题ID")
	private java.lang.String topicId;
	/**当前主评论ID（一个评论下面有很多的回复）*/
	@Excel(name = "当前主评论ID", width = 15)
    @ApiModelProperty(value = "当前主评论ID")
	private java.lang.String parentId;
	/**主题类型*/
	@Excel(name = "主题类型", width = 15)
    @ApiModelProperty(value = "主题类型")
	private java.lang.String topicType;
	/**content*/
	@Excel(name = "content", width = 15)
    @ApiModelProperty(value = "content")
	private java.lang.String content;
	/**创建者*/
	@Excel(name = "创建者", width = 15)
    @ApiModelProperty(value = "创建者")
	private java.lang.String createBy;
	/**真实评论者*/
	@Excel(name = "真实评论者", width = 15)
    @ApiModelProperty(value = "真实评论者")
	private java.lang.String actualBy;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
	private java.util.Date createTime;
	/**更新者*/
	@Excel(name = "更新者", width = 15)
    @ApiModelProperty(value = "更新者")
	private java.lang.String updateBy;
	/**更新时间*/
	@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
	private java.util.Date updateTime;
	/**备注信息*/
	@Excel(name = "备注信息", width = 15)
    @ApiModelProperty(value = "备注信息")
	private java.lang.String remarks;
	/**删除标志*/
	@Excel(name = "删除标志", width = 15)
    @ApiModelProperty(value = "删除标志")
	private java.lang.String delFlag;
	/**被回复的评论或者回复ID*/
	@Excel(name = "被回复的评论或者回复ID", width = 15)
    @ApiModelProperty(value = "被回复的评论或者回复ID")
	private java.lang.String replyCommentId;
	/**被回复者的用户ID*/
	@Excel(name = "被回复者的用户ID", width = 15)
    @ApiModelProperty(value = "被回复者的用户ID")
	private java.lang.String replyId;
	/**被回复者的名字*/
	@Excel(name = "被回复者的名字", width = 15)
    @ApiModelProperty(value = "被回复者的名字")
	private java.lang.String parentName;
	/**创建者所属的公司*/
	@Excel(name = "创建者所属的公司", width = 15)
    @ApiModelProperty(value = "创建者所属的公司")
	private java.lang.String createCompany;
	/**创建者所属的部门*/
	@Excel(name = "创建者所属的部门", width = 15)
    @ApiModelProperty(value = "创建者所属的部门")
	private java.lang.String createDepatr;

	@TableField(exist =false )
	private SysUser sysUser;
	@TableField(exist =false )
	private List<OaComment> childList;

	@TableField(exist =false )
	private String currentUserName ;
	@TableField(exist =false )
	private String currentUserId ;

}
